package com.sdy.hospitalguard.biz.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.model.BaseModel;
import com.sdy.common.utils.DateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 消息通知
 * </p>
 *
 * @author zzq
 * @since 2020-05-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class Notice extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 消息表主键
     */
    @TableId
    @ApiModelProperty(value = "消息表主键")
    private Integer id;

    /**
     * 关联id / 陪护表 / 探视表 ID
     */
    @ApiModelProperty(value = "关联id / 陪护表 / 探视表 ID")
    private Integer associationId;

    /**
     * 发送者userid
     */
    @ApiModelProperty(value = "发送者userid")
    private Integer sendUserId;

    /**
     * 处理人员 id / 接受者ID  / userId
     */
    @ApiModelProperty(value = "处理人员 id / 接受者ID  / userId")
    private Integer handlerId;

    /**
     * 消息类型(1-陪护申请 2-探视申请)
     */
    @ApiModelProperty(value = "消息类型(1-陪护申请 2-探视申请)")
    private Integer type;

    /**
     * 消息状态(1-未查看 2-已查看)
     */
    @ApiModelProperty(value = "消息状态(1-未查看 2-已查看)")
    private Integer state;

    /**
     * 消息处理(0-未处理 1-拒绝 2-同意)
     */
    @ApiModelProperty(value = "消息处理(0-未处理 1-拒绝 2-同意)")
    private Integer result;

    /**
     * 处理人员类型(0:用户 1:护士站)
     */
    @ApiModelProperty(value = "处理人员类型(0:用户 1:护士站)")
    private Integer disposeType;

    /**
     * 拒绝理由
     */
    @ApiModelProperty(value = "拒绝理由")
    private String reason;

    /**
     * 消息内容
     */
    @ApiModelProperty(value = "消息内容")
    private String messageContent;

    /**
     * 消息查看时间
     */
    @ApiModelProperty(value = "消息查看时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date messageViewTime;

    /**
     * 处理消息时间
     */
    @ApiModelProperty(value = "处理消息时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date handlerTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date createTime;

}
